
package com.horizon.mobile.activity;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;

import com.horizon.mobile.R;
import com.horizon.mobile.manage.SharePreferences;
import com.pgyersdk.javabean.AppBean;
import com.pgyersdk.update.PgyUpdateManager;
import com.pgyersdk.update.UpdateManagerListener;

import zuo.biao.library.base.BaseFragment;

/**
 * 设置fragment
 *
 */
public class SettingFragment extends BaseFragment implements OnClickListener, zuo.biao.library.ui.AlertDialog.OnDialogButtonClickListener {

    LinearLayout llSettingLogout, llCheckUpdate;
    static SettingFragment fragment;

    /**
     * 创建一个Fragment实例
     *
     * @return
     */
    public static SettingFragment createInstance() {
        if (fragment == null)
            fragment = new SettingFragment();
        return fragment;
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        //类相关初始化，必须使用<<<<<<<<<<<<<<<<
        super.onCreateView(inflater, container, savedInstanceState);
        setContentView(R.layout.setting_fragment);
        //类相关初始化，必须使用>>>>>>>>>>>>>>>>

        //功能归类分区方法，必须调用<<<<<<<<<<
        initView();
        initData();
        initEvent();
        //功能归类分区方法，必须调用>>>>>>>>>>

        return view;
    }


    //UI显示区(操作UI，但不存在数据获取或处理代码，也不存在事件监听代码)<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

    private ImageView ivSettingHead;

    @Override
    public void initView() {//必须调用

        ivSettingHead = (ImageView) findViewById(R.id.ivSettingHead);
        llSettingLogout = (LinearLayout) findViewById(R.id.llSettingLogout);
        llCheckUpdate = (LinearLayout) findViewById(R.id.llCheckUpdate);
    }


    //UI显示区(操作UI，但不存在数据获取或处理代码，也不存在事件监听代码)>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>


    //Data数据区(存在数据获取或处理代码，但不存在事件监听代码)<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

    @Override
    public void initData() {//必须调用

    }


    private void logout() {
        SharePreferences.getInstance(context).putIsLogin(false);
        SharePreferences.getInstance(context).putPassword("");
        SharePreferences.getInstance(context).putRealName("");
        SharePreferences.getInstance(context).putLoginName("");
        SharePreferences.getInstance(context).putUserName("");
        SharePreferences.getInstance(context).putToken("");
        SharePreferences.getInstance(context).putDeptName("");
        context.finish();
    }


    //Data数据区(存在数据获取或处理代码，但不存在事件监听代码)>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>


    //Event事件区(只要存在事件监听代码就是)<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

    @Override
    public void initEvent() {//必须调用

        ivSettingHead.setOnClickListener(this);

        findViewById(R.id.llSettingSetting).setOnClickListener(this);
        findViewById(R.id.llCheckUpdate).setOnClickListener(this);
        findViewById(R.id.llSettingLogout).setOnClickListener(this);
    }


    @Override
    public void onDialogButtonClick(int requestCode, boolean isPositive) {
        if (!isPositive) {
            return;
        }

        switch (requestCode) {
            case 0:
                logout();
                break;
            default:
                break;
        }
    }


    //系统自带监听方法<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

    @Override
    public void onClick(View v) {//直接调用不会显示v被点击效果
        switch (v.getId()) {
            case R.id.ivSettingHead:
//				showShortToast("onClick  ivSettingHead");
                break;
            case R.id.llSettingSetting:
                break;
            case R.id.llCheckUpdate:
                PgyUpdateManager.register(context, "您自定义provider file值",
                        new UpdateManagerListener() {

                            @Override
                            public void onUpdateAvailable(final String result) {

                                // 将新版本信息封装到AppBean中
                                final AppBean appBean = getAppBeanFromString(result);
                                new zuo.biao.library.ui.AlertDialog(context, "检查更新", appBean.getReleaseNote(), true, 0, new zuo.biao.library.ui.AlertDialog.OnDialogButtonClickListener() {


                                    @Override
                                    public void onDialogButtonClick(int requestCode, boolean isPositive) {

                                        if (isPositive) {
                                            startDownloadTask(
                                                    context,
                                                    appBean.getDownloadURL());
                                        }
                                    }
                                }).show();
//								new AlertDialog.Builder(context)
//										.setTitle("更新")
//										.setMessage(appBean.getReleaseNote())
//										.setNegativeButton(
//												"确定",
//											).show();
                            }

                            @Override
                            public void onNoUpdateAvailable() {
                                showShortToast("已是最新版本！");
                            }
                        });
                break;
            case R.id.llSettingLogout:
                new zuo.biao.library.ui.AlertDialog(context, "退出登录", "确定退出登录？", true, 0, this).show();
                break;
            default:
                break;
        }
    }


    //类相关监听<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<


    //类相关监听>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

    //系统自带监听方法>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>


    //Event事件区(只要存在事件监听代码就是)>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>


    //内部类,尽量少用<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<


    //内部类,尽量少用>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

}